package com.one.group.service;

import com.mybatisflex.core.service.IService;
import com.one.group.model.dto.MaintenanceRecordAddDto;
import com.one.group.model.dto.MaintenanceRecordQueryDto;
import com.one.group.model.dto.MaintenanceRecordUpdateDto;
import com.one.group.model.entity.MaintenanceRecord;
import com.one.group.model.vo.MaintenanceRecordVo;

import java.util.List;

/**
 * {@code @Create:}  2025-09-28  14 : 33
 * {@code @Author:} Cherry
 * {@code @ToUser:} 凡是发生,皆有利于我。
 * ------------------------------------
 * {@code @note:}
 */

@SuppressWarnings({"all"})
public interface MaintenanceRecordService extends IService<MaintenanceRecord> {
    /**
     * 新增保养纪录
     *
     * @param addDto 新增请求DTO
     * @return 保养纪录ID
     */
    void addSpMaintenanceRecord(MaintenanceRecordAddDto addDto);

    /**
     * 分页查询保养纪录列表
     *
     * @param queryDto 查询请求DTO
     * @return 分页结果
     */
    List<MaintenanceRecordVo> listSpMaintenanceRecords(MaintenanceRecordQueryDto queryDto);

    /**
     * 更新保养纪录
     *
     * @param updateDto 更新请求DTO
     */
    void updateSpMaintenanceRecord(MaintenanceRecordUpdateDto updateDto);

    /**
     * 批量删除保养纪录
     *
     * @param batchDeleteDto 批量删除请求DTO
     */
    void batchDeleteSpMaintenanceRecords(List<Long> ids);

    void deleteById(Long id);

}
